Modern computer applications may be designed to be accessible to users who speak a wide variety of languages. It may be desirable to offer localization options to users, such as the language in which an application or service presents information. Typically, such localization options require applications to present a long list of languages, to make sure that as many users and languages as possible are supported. Users then must navigate through an extensive list, such as via a drop-down or other unwieldy interface, to locate their desired languages.
To address this issue, some applications attempt to make an educated guess as to the language a particular user may desire. This may be done either by separating an application into region-specific subdomains or interfaces. For example, a hosted service may be provided in the US and/or other English-speaking countries at a domain such as example.com. The same service may be provided at other language-specific domains with country-specific top-level domains (TLDs), such as example.cn for Chinese, example.es for Spanish, and so on. In other cases, other portions of an address or domain may provide an indication of a user's desired language, such as example.com/content/cn for Chinese, example.com/content/es for Spanish, and so on. The user's desired language may then be determined based upon which domain or location the user chooses to visit.
Another technique may include attempting to determine or approximate a user's location based on his IP address. For example, if it is determined that a user appears to be accessing an application from an IP address provided by an ISP in Germany, German may be selected as a likely preferred language of the user.